home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / CDTools / MUIRexx / demos / MUIRexxBuild / ask_object.rexx < prev    next >
OS/2 REXX Batch file  |  1997-04-22  |  39KB  |  1,128 lines

  1. /* */
  2. options results
  3. parse arg '['obj']'
  4.  
  5. address BUILD
  6.  
  7. window ID SET CLOSE
  8.  
  9. parse var obj gobj .
  10. gobj = strip(gobj)
  11. select
  12.     when index(gobj,'end') = 1 then nop
  13.     when index(gobj,'window') = 1 then call open_ask_window(obj)
  14.     when index(gobj,'group') = 1 then call open_ask_group(obj)
  15.     when index(gobj,'menu') = 1 then call open_ask_menu(obj)
  16.     when index(gobj,'do') = 1 then call open_ask_do(obj)
  17.     when index(gobj,'item') = 1 then call open_ask_item(obj)
  18.     when index(gobj,'space') = 1 then call open_ask_space(obj)
  19.     when index(gobj,'label') = 1 then call open_ask_label(obj)
  20.     when index(gobj,'view') = 1 then call open_ask_view(obj)
  21.     when index(gobj,'gauge') = 1 then call open_ask_gauge(obj)
  22.     when index(gobj,'meter') = 1 then call open_ask_gauge(obj)
  23.     when index(gobj,'button') = 1 then call open_ask_gadget(obj)
  24.     when index(gobj,'text') = 1 then call open_ask_gadget(obj)
  25.     when index(gobj,'switch') = 1 then call open_ask_gadget(obj)
  26.     when index(gobj,'image') = 1 then call open_ask_gadget(obj)
  27.     when index(gobj,'check') = 1 then call open_ask_gadget(obj)
  28.     when index(gobj,'cycle') = 1 then call open_ask_cycle(obj)
  29.     when index(gobj,'radio') = 1 then call open_ask_cycle(obj)
  30.     when index(gobj,'string') = 1 then call open_ask_string(obj)
  31.     when index(gobj,'popasl') = 1 then call open_ask_popasl(obj)
  32.     when index(gobj,'poplist') = 1 then call open_ask_popasl(obj)
  33.     when index(gobj,'slider') = 1 then call open_ask_slider(obj)
  34.     when index(gobj,'popslider') = 1 then call open_ask_slider(obj)
  35.     when index(gobj,'knob') = 1 then call open_ask_slider(obj)
  36.     when index(gobj,'dirlist') = 1 then call open_ask_dirlist(obj)
  37.     when index(gobj,'volumelist') = 1 then call open_ask_volumelist(obj)
  38.     when index(gobj,'list') = 1 then call open_ask_list(obj)
  39.     when index(gobj,'object') = 1 then call open_ask_object(obj)
  40.     when index(gobj,'application') = 1 then call open_ask_application(obj)
  41.     when index(gobj,'method') = 1 then call open_ask_method(obj)
  42.     when index(gobj,'callhook') = 1 then call open_ask_callhook(obj)
  43.     otherwise call open_ask_generic(obj)
  44. end
  45.  
  46. exit
  47.  
  48. open_ask_window: procedure
  49. parse arg line
  50.  
  51. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  52.  
  53. parse var line obj args
  54.  
  55. gobj = insert(obj,'',pos(obj,line)-1)
  56. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  57. else gid = ''
  58. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  59. else gcommand = ''
  60. parse var args 'PORT 'gport .,'TITLE """'glabel'"""' .,'ATTRS 'gattrs
  61.  
  62. window ID SET TITLE '"Window Object"' COMMAND '"build:set_object ['gobj']"'
  63.     group REGISTER LABELS "Options,Attributes"
  64.         group HORIZ
  65.             group
  66.                 label DOUBLE "ID:"
  67.                 label DOUBLE "Command:"
  68.                 label DOUBLE "Port:"
  69.                 label DOUBLE "Title:"
  70.             endgroup
  71.             group
  72.                 string ID S1 CONTENT gid
  73.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  74.                 string ID S3 CONTENT gport
  75.                 string ID S4 CONTENT glabel
  76.             endgroup
  77.         endgroup
  78.         call attrsgroup
  79.     endgroup
  80.     call okgroup gobj
  81. endwindow
  82. call attrscomm gattrs
  83. return
  84.  
  85. open_ask_group: procedure
  86. parse arg line
  87.  
  88. MUIA_Frame =                      0x8042ac64 /* V4  i.. LONG              */
  89. Disabled =                        0x80423661 /* V4  isg BOOL              */
  90. Selected =                        0x8042654b /* V4  isg BOOL              */
  91. Weight =                          0x80421d1f /* V4  i.. WORD              */
  92. TRUE = 1
  93. FALSE = 0
  94.  
  95. parse var line obj args
  96.  
  97. gobj = insert(obj,'',pos(obj,line)-1)
  98. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  99. else gid = ''
  100. parse var args 'HELP """'ghelp'"""' .,'NODE 'gnode .,'ICON "'gicon'"' .,'SPEC "6:'gimage'"' .,'ATTRS 'gattrs 'LABEL' .,'LABELS "'glabel'"'
  101.  
  102. window ID SET TITLE '"Group Object"' COMMAND '"build:set_object ['gobj']"'
  103.     group REGISTER LABELS "Options,Image,Attributes"
  104.         group HORIZ
  105.             group
  106.                 label DOUBLE "ID:"
  107.                 label DOUBLE "Help:"
  108.                 label DOUBLE "Node:"
  109.                 label DOUBLE "Labels:"
  110.                 label SINGLE "Frame:"
  111.                 label SINGLE "Horiz:"
  112.                 label SINGLE "Type:"
  113.             endgroup
  114.             group
  115.                 string ID S1 CONTENT gid
  116.                 string ID S2 CONTENT ghelp
  117.                 string ID S3 CONTENT gnode
  118.                 string ID S4 CONTENT glabel
  119.                 group HORIZ
  120.                     group
  121.                         if index(args,'FRAME') ~= 0 then check ID C1 ATTRS Selected TRUE
  122.                         else check ID C1 ATTRS Selected FALSE
  123.                         if index(args,'HORIZ') ~= 0 then check ID C2 ATTRS Selected TRUE
  124.                         else check ID C2 ATTRS Selected FALSE
  125.                     endgroup
  126.                     space HORIZ
  127.                 endgroup
  128.                 cycle ID L1 ATTRS Weight 0 LABELS 'NORMAL,REGISTER,VIRTUAL,SCROLL,POP'
  129.             endgroup
  130.         endgroup
  131.         group
  132.             space
  133.             group HORIZ
  134.                 cycle ID L2 COMMAND '"build:ask_comm IMAGE"' ATTRS Weight 0 LABELS 'Icon,Image,None'
  135.                 space HORIZ
  136.                 group ID GIMG
  137.                     switch ID AIMG ATTRS MUIA_Frame 0
  138.                 endgroup
  139.                 space HORIZ
  140.             endgroup
  141.             space
  142.             group HORIZ
  143.                 group
  144.                     label DOUBLE "File:"
  145.                     label DOUBLE "Spec:"
  146.                 endgroup
  147.                 group
  148.                     popasl ID S7 COMMAND '"build:ask_comm SET %s"'
  149.                     poplist ID S8 COMMAND '"build:ask_comm ISET %s"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
  150.                 endgroup
  151.             endgroup
  152.         endgroup
  153.         call attrsgroup
  154.     endgroup
  155.     call okgroup gobj
  156. endwindow
  157. if index(line,'REGISTER') ~= 0 then cycle ID L1 LABEL 'REGISTER'
  158. if index(line,'VIRTUAL') ~= 0 then cycle ID L1 LABEL 'VIRTUAL'
  159. if index(line,'SCROLL') ~= 0 then cycle ID L1 LABEL 'SCROLL'
  160. if index(line,'POP') ~= 0 then cycle ID L1 LABEL 'POP'
  161. callhook ID AIMG APP COMMAND '"build:ask_comm SET %s"'
  162. select
  163.     when gicon ~= '' then do
  164.         poplist ID S8 ATTRS Disabled TRUE
  165.         cycle ID L2 LABEL 'Icon'
  166.         popasl ID S7 CONTENT gicon
  167.         call 'build:ask_comm' SET gicon
  168.     end
  169.     when gimage ~= '' then do
  170.         popasl ID S7 ATTRS Disabled TRUE
  171.         cycle ID L2 LABEL 'Image'
  172.         call 'build:ask_comm' ISET gimage
  173.     end
  174.     otherwise do
  175.         popasl ID S7 ATTRS Disabled TRUE
  176.         poplist ID S8 ATTRS Disabled TRUE
  177.         cycle ID L2 LABEL 'None'
  178.     end
  179. end
  180. call attrscomm gattrs
  181. return
  182.  
  183. open_ask_menu: procedure
  184. parse arg line
  185.  
  186. parse var line obj .,'ID 'gid .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
  187.  
  188. gobj = insert(obj,'',pos(obj,line)-1)
  189. window ID SET TITLE '"Menu Object"' COMMAND '"build:set_object ['gobj']"'
  190.     group REGISTER LABELS "Options,Attributes"
  191.         group HORIZ
  192.             group
  193.                 label DOUBLE "ID:"
  194.                 label DOUBLE "Label:"
  195.             endgroup
  196.             group
  197.                 string ID S1 CONTENT gid
  198.                 string ID S2 CONTENT glabel
  199.             endgroup
  200.         endgroup
  201.         call attrsgroup
  202.     endgroup
  203.     call okgroup gobj
  204. endwindow
  205. call attrscomm gattrs
  206. return
  207.  
  208. open_ask_do: procedure
  209. parse arg line
  210.  
  211. CycleChain =                      0x80421ce7 /* V11 isg LONG              */
  212. Frame =                           0x8042ac64 /* V4  i.. LONG              */
  213.  
  214. Frame_None = 0
  215.  
  216. parse var line obj counter' = 'begin' to 'finish
  217.  
  218. gobj = insert(obj,'',pos(obj,line)-1)
  219. window ID SET TITLE '"Do Loop"' COMMAND '"build:set_object ['gobj']"'
  220.     group HORIZ
  221.         space HORIZ
  222.         group HORIZ 'FRAME'
  223.             label DOUBLE 'do'
  224.             string ID P1 ATTRS CycleChain 1 Frame Frame_None CONTENT counter
  225.             label DOUBLE '"="'
  226.             string ID P2 ATTRS CycleChain 1 Frame Frame_None CONTENT begin
  227.             label DOUBLE 'to'
  228.             string ID P3 ATTRS CycleChain 1 Frame Frame_None CONTENT finish
  229.         endgroup
  230.         space HORIZ
  231.     endgroup
  232.     call okgroup gobj
  233. endwindow
  234. return
  235.  
  236. open_ask_item: procedure
  237. parse arg line
  238.  
  239. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  240.  
  241. parse var line obj args
  242.  
  243. gobj = insert(obj,'',pos(obj,line)-1)
  244. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  245. else gid = ''
  246. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  247. else gcommand = ''
  248. parse var args 'PORT 'gport .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
  249.  
  250. window ID SET TITLE '"Item Object"' COMMAND '"build:set_object ['gobj']"'
  251.     group REGISTER LABELS "Options,Attributes"
  252.         group HORIZ
  253.             group
  254.                 label DOUBLE "ID:"
  255.                 label DOUBLE "Command:"
  256.                 label DOUBLE "Port:"
  257.                 label DOUBLE "Label:"
  258.             endgroup
  259.             group
  260.                 string ID S1 CONTENT gid
  261.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  262.                 string ID S3 CONTENT gport
  263.                 string ID S4 CONTENT glabel
  264.             endgroup
  265.         endgroup
  266.         call attrsgroup
  267.     endgroup
  268.     call okgroup gobj
  269. endwindow
  270. call attrscomm gattrs
  271. return
  272.  
  273. open_ask_space: procedure
  274. parse arg line
  275.  
  276. Selected =                        0x8042654b /* V4  isg BOOL              */
  277. TRUE = 1
  278. FALSE = 0
  279.  
  280. parse var line obj opt
  281.  
  282. gobj = insert(obj,'',pos(obj,line)-1)
  283. window ID SET TITLE '"Space Object"' COMMAND '"build:set_object ['gobj']"'
  284.     group HORIZ
  285.         group
  286.             label SINGLE "Bar:"
  287.             label SINGLE "Horiz:"
  288.             label DOUBLE "Value:"
  289.         endgroup
  290.         group
  291.             group HORIZ
  292.                 group
  293.                     if index(opt,'BAR') ~= 0 then do
  294.                         check ID C1 ATTRS Selected TRUE
  295.                         opt = substr(opt,index(opt,'BAR')+4)
  296.                     end
  297.                     else check ID C1 ATTRS Selected FALSE
  298.                     if index(opt,'HORIZ') ~= 0 then do
  299.                         check ID C2 ATTRS Selected TRUE
  300.                         opt = substr(opt,index(opt,'HORIZ')+6)
  301.                     end
  302.                     else check ID C2 ATTRS Selected FALSE
  303.                 endgroup
  304.                 space HORIZ
  305.             endgroup
  306.             string ID S1 CONTENT opt
  307.         endgroup
  308.     endgroup
  309.     call okgroup gobj
  310. endwindow
  311. return
  312.  
  313. open_ask_label: procedure
  314. parse arg line
  315.  
  316. Selected =                        0x8042654b /* V4  isg BOOL              */
  317. TRUE = 1
  318. FALSE = 0
  319.  
  320. parse var line obj .,'"'glabel'"'
  321.  
  322. gobj = insert(obj,'',pos(obj,line)-1)
  323. window ID SET TITLE '"Label Object"' COMMAND '"build:set_object ['gobj']"'
  324.     group HORIZ
  325.         group
  326.             label SINGLE "Left:"
  327.             label SINGLE "Center:"
  328.             label SINGLE "Single:"
  329.             label SINGLE "Double:"
  330.             label DOUBLE "Label:"
  331.         endgroup
  332.         group
  333.             group HORIZ
  334.                 group
  335.                     if index(line,'LEFT') ~= 0 then check ID C1 ATTRS Selected TRUE
  336.                     else check ID C1 ATTRS Selected FALSE
  337.                     if index(line,'CENTER') ~= 0 then check ID C2 ATTRS Selected TRUE
  338.                     else check ID C2 ATTRS Selected FALSE
  339.                     if index(line,'SINGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
  340.                     else check ID C3 ATTRS Selected FALSE
  341.                     if index(line,'DOUBLE') ~= 0 then check ID C4 ATTRS Selected TRUE
  342.                     else check ID C4 ATTRS Selected FALSE
  343.                 endgroup
  344.                 space HORIZ
  345.             endgroup
  346.             string ID S1 CONTENT glabel
  347.         endgroup
  348.     endgroup
  349.     call okgroup gobj
  350. endwindow
  351. return
  352.  
  353. open_ask_view: procedure
  354. parse arg line
  355.  
  356. parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'FILE "'gfile'"' .,'ATTRS 'gattrs 'STRING' .,'STRING "'gstring'"'
  357.  
  358. gobj = insert(obj,'',pos(obj,line)-1)
  359. window ID SET TITLE '"View Object"' COMMAND '"build:set_object ['gobj']"'
  360.     group REGISTER LABELS "Options,Attributes"
  361.         group HORIZ
  362.             group
  363.                 label DOUBLE "ID:"
  364.                 label DOUBLE "Help:"
  365.                 label DOUBLE "Node:"
  366.                 label DOUBLE "File:"
  367.                 label DOUBLE "String:"
  368.             endgroup
  369.             group
  370.                 string ID S1 CONTENT gid
  371.                 string ID S2 CONTENT ghelp
  372.                 string ID S3 CONTENT gnode
  373.                 popasl ID S4 CONTENT gfile
  374.                 string ID S5 CONTENT gstring
  375.             endgroup
  376.         endgroup
  377.         call attrsgroup
  378.     endgroup
  379.     call okgroup gobj
  380. endwindow
  381. call attrscomm gattrs
  382. return
  383.  
  384. open_ask_gauge: procedure
  385. parse arg line
  386.  
  387. parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
  388.  
  389. gobj = insert(obj,'',pos(obj,line)-1)
  390. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  391.     group REGISTER LABELS "Options,Attributes"
  392.         group HORIZ
  393.             group
  394.                 label DOUBLE "ID:"
  395.                 label DOUBLE "Help:"
  396.                 label DOUBLE "Node:"
  397.                 label DOUBLE "Label:"
  398.             endgroup
  399.             group
  400.                 string ID S1 CONTENT gid
  401.                 string ID S2 CONTENT ghelp
  402.                 string ID S3 CONTENT gnode
  403.                 string ID S4 CONTENT glabel
  404.             endgroup
  405.         endgroup
  406.         call attrsgroup
  407.     endgroup
  408.     call okgroup gobj
  409. endwindow
  410. call attrscomm gattrs
  411. return
  412.  
  413. open_ask_gadget: procedure
  414. parse arg line
  415.  
  416. MUIA_AppMessage =                 0x80421955 /* V5  ..g struct AppMessage * */
  417. MUIA_Frame =                      0x8042ac64 /* V4  i.. LONG              */
  418. MUIA_String_MaxLen =              0x80424984 /* V4  i.g LONG              */
  419. Disabled =                        0x80423661 /* V4  isg BOOL              */
  420. Selected =                        0x8042654b /* V4  isg BOOL              */
  421. Weight =                          0x80421d1f /* V4  i.. WORD              */
  422.  
  423. MUIV_EveryTime = 0x49893131
  424. TRUE = 1
  425. FALSE = 0
  426.  
  427. parse var line obj args
  428.  
  429. gobj = insert(obj,'',pos(obj,line)-1)
  430. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  431. else gid = ''
  432. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  433. else gcommand = ''
  434. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ICON "'gicon'"' .,'SPEC "6:'gimage'"' .,'PICT "'gpict'"' .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
  435.  
  436. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  437.     group REGISTER LABELS "Options,Image,Attributes"
  438.         group HORIZ
  439.             group
  440.                 label DOUBLE "ID:"
  441.                 label DOUBLE "Command:"
  442.                 label DOUBLE "Port:"
  443.                 label DOUBLE "Help:"
  444.                 label DOUBLE "Node:"
  445.                 label DOUBLE "Label:"
  446.             endgroup
  447.             group
  448.                 string ID S1 CONTENT gid
  449.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  450.                 string ID S3 CONTENT gport
  451.                 string ID S4 CONTENT ghelp
  452.                 string ID S5 CONTENT gnode
  453.                 string ID S6 CONTENT glabel
  454.             endgroup
  455.         endgroup
  456.         group
  457.             space
  458.             group HORIZ
  459.                 group
  460.                     cycle ID L2 COMMAND '"build:ask_comm IMAGE"' ATTRS Weight 0 LABELS 'Icon,Image,Picture,None'
  461.                     if index(args,'TRANS') ~= 0 then switch ID C1 COMMAND '"build:ask_comm SET"' ATTRS Selected TRUE LABELS "Opaque,Transparent"
  462.                     else switch ID C1 COMMAND '"build:ask_comm SET"' LABELS "Opaque,Transparent"
  463.                 endgroup
  464.                 space HORIZ
  465.                 group ID GIMG
  466.                     switch ID AIMG ATTRS MUIA_Frame 0
  467.                 endgroup
  468.                 space HORIZ
  469.             endgroup
  470.             space
  471.             group HORIZ
  472.                 group
  473.                     label DOUBLE "File:"
  474.                     label DOUBLE "Spec:"
  475.                 endgroup
  476.                 group
  477.                     popasl ID S7 COMMAND '"build:ask_comm SET %s"'
  478.                     poplist ID S8 COMMAND '"build:ask_comm ISET %s"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
  479.                 endgroup
  480.             endgroup
  481.         endgroup
  482.         call attrsgroup
  483.     endgroup
  484.     call okgroup gobj
  485. endwindow
  486. callhook ID AIMG APP COMMAND '"build:ask_comm SET %s"'
  487. select
  488.     when gicon ~= '' then do
  489.         switch ID C1 ATTRS Disabled TRUE
  490.         poplist ID S8 ATTRS Disabled TRUE
  491.         cycle ID L2 LABEL 'Icon'
  492.         popasl ID S7 CONTENT gicon
  493.         call 'build:ask_comm' SET gicon
  494.     end
  495.     when gimage ~= '' then do
  496.         switch ID C1 ATTRS Disabled TRUE
  497.         popasl ID S7 ATTRS Disabled TRUE
  498.         cycle ID L2 LABEL 'Image'
  499.         call 'build:ask_comm' ISET gimage
  500.     end
  501.     when gpict ~= '' then do
  502.         poplist ID S8 ATTRS Disabled TRUE
  503.         cycle ID L2 LABEL 'Picture'
  504.         popasl ID S7 CONTENT gpict
  505.         call 'build:ask_comm' SET gpict
  506.     end
  507.     otherwise do
  508.         switch ID C1 ATTRS Disabled TRUE
  509.         popasl ID S7 ATTRS Disabled TRUE
  510.         poplist ID S8 ATTRS Disabled TRUE
  511.         cycle ID L2 LABEL 'None'
  512.     end
  513. end
  514. call attrscomm gattrs
  515. return
  516.  
  517. open_ask_cycle: procedure
  518. parse arg line
  519.  
  520. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  521.  
  522. parse var line obj args
  523.  
  524. gobj = insert(obj,'',pos(obj,line)-1)
  525. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  526. else gid = ''
  527. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  528. else gcommand = ''
  529. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs 'LABELS' .,'LABELS "'glabel'"'
  530.  
  531. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  532.     group REGISTER LABELS "Options,Attributes"
  533.         group HORIZ
  534.             group
  535.                 label DOUBLE "ID:"
  536.                 label DOUBLE "Command:"
  537.                 label DOUBLE "Port:"
  538.                 label DOUBLE "Help:"
  539.                 label DOUBLE "Node:"
  540.                 label DOUBLE "Labels:"
  541.             endgroup
  542.             group
  543.                 string ID S1 CONTENT gid
  544.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  545.                 string ID S3 CONTENT gport
  546.                 string ID S4 CONTENT ghelp
  547.                 string ID S5 CONTENT gnode
  548.                 string ID S6 CONTENT glabel
  549.             endgroup
  550.         endgroup
  551.         call attrsgroup
  552.     endgroup
  553.     call okgroup gobj
  554. endwindow
  555. call attrscomm gattrs
  556. return
  557.  
  558. open_ask_string: procedure
  559. parse arg line
  560.  
  561. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  562.  
  563. parse var line obj args
  564.  
  565. gobj = insert(obj,'',pos(obj,line)-1)
  566. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  567. else gid = ''
  568. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  569. else gcommand = ''
  570. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs 'CONTENT' .,'CONTENT "'glabel'"'
  571.  
  572. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  573.     group REGISTER LABELS "Options,Attributes"
  574.         group HORIZ
  575.             group
  576.                 label DOUBLE "ID:"
  577.                 label DOUBLE "Command:"
  578.                 label DOUBLE "Port:"
  579.                 label DOUBLE "Help:"
  580.                 label DOUBLE "Node:"
  581.                 label DOUBLE "Content:"
  582.             endgroup
  583.             group
  584.                 string ID S1 CONTENT gid
  585.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  586.                 string ID S3 CONTENT gport
  587.                 string ID S4 CONTENT ghelp
  588.                 string ID S5 CONTENT gnode
  589.                 string ID S6 CONTENT glabel
  590.             endgroup
  591.         endgroup
  592.         call attrsgroup
  593.     endgroup
  594.     call okgroup gobj
  595. endwindow
  596. call attrscomm gattrs
  597. return
  598.  
  599. open_ask_popasl: procedure
  600. parse arg line
  601.  
  602. MUIA_Frame =                           0x8042ac64 /* V4  i.. LONG              */
  603. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  604. Weight =                          0x80421d1f /* V4  i.. WORD              */
  605.  
  606. parse var line obj args
  607.  
  608. gobj = insert(obj,'',pos(obj,line)-1)
  609. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  610. else gid = ''
  611. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  612. else gcommand = ''
  613. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'SPEC "'gspec':'gimage'"' .,'LABELS """'glabels'"""' .,'ATTRS 'gattrs 'CONTENT' .,'CONTENT "'glabel'"'
  614.  
  615. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  616.     group REGISTER LABELS "Options,Image,Attributes"
  617.         group HORIZ
  618.             group
  619.                 label DOUBLE "ID:"
  620.                 label DOUBLE "Command:"
  621.                 label DOUBLE "Port:"
  622.                 label DOUBLE "Help:"
  623.                 label DOUBLE "Node:"
  624.                 label DOUBLE "Content:"
  625.                 if obj = 'poplist' then label DOUBLE "Labels:"
  626.             endgroup
  627.             group
  628.                 string ID S1 CONTENT gid
  629.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  630.                 string ID S3 CONTENT gport
  631.                 string ID S4 CONTENT ghelp
  632.                 string ID S5 CONTENT gnode
  633.                 string ID S6 CONTENT glabel
  634.                 if obj = 'poplist' then string ID S7 CONTENT glabels
  635.             endgroup
  636.         endgroup
  637.         group
  638.             space
  639.             group HORIZ
  640.                 space HORIZ
  641.                 group ID GIMG
  642.                     image ID AIMG ATTRS MUIA_Frame 0
  643.                 endgroup
  644.                 space HORIZ
  645.             endgroup
  646.             space
  647.             group HORIZ
  648.                 label DOUBLE "Spec:"
  649.                 poplist ID S8 COMMAND '"build:ask_comm ISET %s"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
  650.             endgroup
  651.         endgroup
  652.         call attrsgroup
  653.     endgroup
  654.     call okgroup gobj
  655. endwindow
  656. if gimage = '' then gimage = 18
  657. call 'build:ask_comm' ISET gimage
  658. call attrscomm gattrs
  659. return
  660.  
  661. open_ask_slider: procedure
  662. parse arg line
  663.  
  664. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  665.  
  666. parse var line obj args
  667.  
  668. gobj = insert(obj,'',pos(obj,line)-1)
  669. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  670. else gid = ''
  671. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  672. else gcommand = ''
  673. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
  674.  
  675. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  676.     group REGISTER LABELS "Options,Attributes"
  677.         group HORIZ
  678.             group
  679.                 label DOUBLE "ID:"
  680.                 label DOUBLE "Command:"
  681.                 label DOUBLE "Port:"
  682.                 label DOUBLE "Help:"
  683.                 label DOUBLE "Node:"
  684.             endgroup
  685.             group
  686.                 string ID S1 CONTENT gid
  687.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  688.                 string ID S3 CONTENT gport
  689.                 string ID S4 CONTENT ghelp
  690.                 string ID S5 CONTENT gnode
  691.             endgroup
  692.         endgroup
  693.         call attrsgroup
  694.     endgroup
  695.     call okgroup gobj
  696. endwindow
  697. call attrscomm gattrs
  698. return
  699.  
  700. open_ask_list: procedure
  701. parse arg line
  702.  
  703. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  704. Selected =                        0x8042654b /* V4  isg BOOL              */
  705. Weight =                          0x80421d1f /* V4  i.. WORD              */
  706. TRUE = 1
  707. FALSE = 0
  708.  
  709. parse var line obj args
  710.  
  711. gobj = insert(obj,'',pos(obj,line)-1)
  712. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  713. else gid = ''
  714. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  715. else gcommand = ''
  716. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'TITLE """'gtitle'"""' .,'POS 'gpos .,'ATTRS 'gattrs 'STRING' .,'STRING 'gstring
  717.  
  718. window ID SET TITLE '"List Object"' COMMAND '"build:set_object ['gobj']"'
  719.     group REGISTER LABELS "Options,Attributes"
  720.         group HORIZ
  721.             group
  722.                 label DOUBLE "ID:"
  723.                 label DOUBLE "Command:"
  724.                 label DOUBLE "Port:"
  725.                 label DOUBLE "Help:"
  726.                 label DOUBLE "Node:"
  727.                 label DOUBLE "Title:"
  728.                 label DOUBLE "Pos:"
  729.                 label DOUBLE "String:"
  730.                 label SINGLE "Insert:"
  731.                 label SINGLE "Nodup:"
  732.                 label SINGLE "Toggle:"
  733.             endgroup
  734.             group
  735.                 string ID S1 CONTENT gid
  736.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  737.                 string ID S3 CONTENT gport
  738.                 string ID S4 CONTENT ghelp
  739.                 string ID S5 CONTENT gnode
  740.                 string ID S6 CONTENT gtitle
  741.                 string ID S7 CONTENT gpos
  742.                 string ID S8 CONTENT gstring
  743.                 group HORIZ
  744.                     group
  745.                         if index(args,'INSERT') ~= 0 then check ID C1 ATTRS Selected TRUE
  746.                         else check ID C1 ATTRS Selected FALSE
  747.                         if index(args,'NODUP') ~= 0 then check ID C2 ATTRS Selected TRUE
  748.                         else check ID C2 ATTRS Selected FALSE
  749.                         if index(args,'TOGGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
  750.                         else check ID C3 ATTRS Selected FALSE
  751.                     endgroup
  752.                     space HORIZ
  753.                 endgroup
  754.             endgroup
  755.         endgroup
  756.         call attrsgroup
  757.     endgroup
  758.     call okgroup gobj
  759. endwindow
  760. call attrscomm gattrs
  761. return
  762.  
  763. open_ask_dirlist: procedure
  764. parse arg line
  765.  
  766. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  767. Selected =                        0x8042654b /* V4  isg BOOL              */
  768. Weight =                          0x80421d1f /* V4  i.. WORD              */
  769. TRUE = 1
  770. FALSE = 0
  771.  
  772. parse var line obj args
  773.  
  774. gobj = insert(obj,'',pos(obj,line)-1)
  775. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  776. else gid = ''
  777. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  778. else gcommand = ''
  779. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'PATH "'gpath'"' .,'PATTERN "'gpattern'"' .,'ATTRS 'gattrs
  780.  
  781. window ID SET TITLE '"Dirlist Object"' COMMAND '"build:set_object ['gobj']"'
  782.     group REGISTER LABELS "Options,Attributes"
  783.         group HORIZ
  784.             group
  785.                 label DOUBLE "ID:"
  786.                 label DOUBLE "Command:"
  787.                 label DOUBLE "Port:"
  788.                 label DOUBLE "Help:"
  789.                 label DOUBLE "Node:"
  790.                 label DOUBLE "Path:"
  791.                 label DOUBLE "Pattern:"
  792.                 label SINGLE "Reread:"
  793.                 label SINGLE "Toggle:"
  794.             endgroup
  795.             group
  796.                 string ID S1 CONTENT gid
  797.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  798.                 string ID S3 CONTENT gport
  799.                 string ID S4 CONTENT ghelp
  800.                 string ID S5 CONTENT gnode
  801.                 string ID S6 CONTENT gpath
  802.                 string ID S7 CONTENT gpattern
  803.                 group HORIZ
  804.                     group
  805.                         if index(args,'REREAD') ~= 0 then check ID C1 ATTRS Selected TRUE
  806.                         else check ID C1 ATTRS Selected FALSE
  807.                         if index(args,'TOGGLE') ~= 0 then check ID C2 ATTRS Selected TRUE
  808.                         else check ID C2 ATTRS Selected FALSE
  809.                     endgroup
  810.                     space HORIZ
  811.                 endgroup
  812.             endgroup
  813.         endgroup
  814.         call attrsgroup
  815.     endgroup
  816.     call okgroup gobj
  817. endwindow
  818. call attrscomm gattrs
  819. return
  820.  
  821. open_ask_volumelist: procedure
  822. parse arg line
  823.  
  824. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  825.  
  826. parse var line obj args
  827.  
  828. gobj = insert(obj,'',pos(obj,line)-1)
  829. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  830. else gid = ''
  831. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  832. else gcommand = ''
  833. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
  834.  
  835. window ID SET TITLE '"Volumelist Object"' COMMAND '"build:set_object ['gobj']"'
  836.     group REGISTER LABELS "Options,Attributes"
  837.         group HORIZ
  838.             group
  839.                 label DOUBLE "ID:"
  840.                 label DOUBLE "Command:"
  841.                 label DOUBLE "Port:"
  842.                 label DOUBLE "Help:"
  843.                 label DOUBLE "Node:"
  844.             endgroup
  845.             group
  846.                 string ID S1 CONTENT gid
  847.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  848.                 string ID S3 CONTENT gport
  849.                 string ID S4 CONTENT ghelp
  850.                 string ID S5 CONTENT gnode
  851.             endgroup
  852.         endgroup
  853.         call attrsgroup
  854.     endgroup
  855.     call okgroup gobj
  856. endwindow
  857. call attrscomm gattrs
  858. return
  859.  
  860. open_ask_object: procedure
  861. parse arg line
  862.  
  863. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  864. Selected =                        0x8042654b /* V4  isg BOOL              */
  865. List_Format =                     0x80423c0a /* V4  isg STRPTR            */
  866. TRUE = 1
  867. FALSE = 0
  868.  
  869. parse var line obj args
  870.  
  871. gobj = insert(obj,'',pos(obj,line)-1)
  872. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  873. else gid = ''
  874. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  875. else gcommand = ''
  876. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'CLASS "'gclass'"' .,'ATTRS 'gattrs
  877.  
  878. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  879.     group REGISTER LABELS "Options,Classes,Attributes"
  880.         group HORIZ
  881.             group
  882.                 label DOUBLE "ID:"
  883.                 label DOUBLE "Command:"
  884.                 label DOUBLE "Port:"
  885.                 label DOUBLE "Help:"
  886.                 label DOUBLE "Node:"
  887.             endgroup
  888.             group
  889.                 string ID S1 CONTENT gid
  890.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  891.                 string ID S3 CONTENT gport
  892.                 string ID S4 CONTENT ghelp
  893.                 string ID S5 CONTENT gnode
  894.             endgroup
  895.         endgroup
  896.         group
  897.             dirlist ID D1 COMMAND '"build:ask_comm CSET %s"' ATTRS List_Format '""'
  898.             group HORIZ
  899.                 group
  900.                     label DOUBLE "Class:"
  901.                     label SINGLE "Boopsi:"
  902.                 endgroup
  903.                 group
  904.                     string ID S6 CONTENT gclass
  905.                     group HORIZ
  906.                         group
  907.                             if index(args,'BOOPSI') ~= 0 then check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected TRUE
  908.                             else check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected FALSE
  909.                         endgroup
  910.                         space HORIZ
  911.                     endgroup
  912.                 endgroup
  913.             endgroup
  914.         endgroup
  915.         call attrsgroup
  916.     endgroup
  917.     call okgroup gobj
  918. endwindow
  919. check ID C1
  920. if result then dirlist ID D1 PATH '"SYS:Classes/Gadgets"'
  921. else dirlist ID D1 PATH '"MUI:Libs/MUI"'
  922. call attrscomm gattrs
  923. return
  924.  
  925. open_ask_generic: procedure
  926. parse arg line
  927.  
  928. window ID SET TITLE '"Generic Object"' COMMAND '"build:set_object []"'
  929.     string ID P1 CONTENT line
  930.     call okgroup gobj
  931. endwindow
  932. return
  933.  
  934. open_ask_application: procedure
  935. parse arg line
  936.  
  937. parse var line obj args
  938.  
  939. gobj = insert(obj,'',pos(obj,line)-1)
  940. parse var args 'ATTRS 'gattrs
  941.  
  942. window ID SET TITLE '"Application"' COMMAND '"build:set_object ['gobj']"'
  943.     call attrsgroup
  944.     call okgroup gobj
  945. endwindow
  946. call attrscomm gattrs
  947. return
  948.  
  949. open_ask_method: procedure
  950. parse arg line
  951.  
  952. Dropable =                        0x8042fbce /* V11 isg BOOL              */
  953. Listview_DragType =               0x80425cd3 /* V11 isg LONG              */
  954. List_DragSortable =               0x80426099 /* V11 isg BOOL              */
  955. Listview_DragType_Immediate = 1
  956. List_Insert_Bottom = -3
  957. List_GetEntry_Active = -1
  958. TRUE = 1
  959.  
  960. parse var line obj args
  961. gobj = insert(obj,'',pos(obj,line)-1)
  962. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  963. else gid = ''
  964. parse var args gattrs
  965.  
  966. window ID SET TITLE '"Method"' COMMAND '"build:set_object ['gobj']"'
  967.     group
  968.         group HORIZ
  969.             label DOUBLE "ID:"
  970.             string ID S1 CONTENT gid
  971.         endgroup
  972.         list ID ALST COMMAND '"build:attrs ASKSET %s"',
  973.             ATTRS Listview_DragType Listview_DragType_Immediate,
  974.                   List_DragSortable TRUE
  975.         string COMMAND '"list ID ALST INSERT POS List_Insert_Bottom STRING %s"' PORT BUILD
  976.         group
  977.             button COMMAND '"build:attrs MLIST"' LABEL 'Method List'
  978.             button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
  979.             button COMMAND '"build:attrs VLIST"' LABEL 'Variable List'
  980.             button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
  981.         endgroup
  982.     endgroup
  983.     call okgroup gobj
  984. endwindow
  985. callhook ID ALST DROP COMMAND '"build:attrs MADD %s"' INCLUDE 'BLST,CLST,MLST'
  986. do while gattrs ~= ''
  987.     parse var gattrs name gattrs
  988.     list ID ALST INSERT POS List_Insert_Bottom STRING name
  989. end
  990. return
  991.  
  992. open_ask_callhook: procedure
  993. parse arg line
  994.  
  995. MUIA_Weight = 0x80421d1f
  996. MUIA_Group_Spacing = 0x8042866d
  997. MUIA_String_MaxLen =                   0x80424984 /* V4  i.g LONG              */
  998. Listview_DragType =               0x80425cd3 /* V11 isg LONG              */
  999. Dropable =                        0x8042fbce /* V11 isg BOOL              */
  1000. Selected =                        0x8042654b /* V4  isg BOOL              */
  1001. List_Format =                     0x80423c0a /* V4  isg STRPTR            */
  1002.  
  1003. TRUE = 1
  1004. FALSE = 0
  1005. Listview_DragType_Immediate = 1
  1006.  
  1007. parse var line obj args
  1008.  
  1009. gobj = insert(obj,'',pos(obj,line)-1)
  1010. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  1011. else gid = ''
  1012. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  1013. else gcommand = ''
  1014. parse var args 'PORT 'gport .,'INCLUDE "'ginclude'"' .,'EXCLUDE "'gexclude'"' .,'ATTRS 'gtrig' 'gval
  1015.  
  1016. window ID SET TITLE '"Callhook"' COMMAND '"build:set_object ['gobj']"'
  1017.     group HORIZ
  1018.         group
  1019.             label DOUBLE "ID:"
  1020.             label DOUBLE "Command:"
  1021.             label DOUBLE "Port:"
  1022.             label DOUBLE "Trigger:"
  1023.             label DOUBLE "Value:"
  1024.             label DOUBLE "Include:"
  1025.             label DOUBLE "Exclude:"
  1026.         endgroup
  1027.         group
  1028.             string ID S1 CONTENT gid
  1029.             group HORIZ
  1030.                 popasl ID S2 ATTRS MUIA_String_MaxLen 160 CONTENT gcommand
  1031.                 group HORIZ ATTRS MUIA_Weight 0 MUIA_Group_Spacing 0
  1032.                     switch ID C1 LABEL "P,\033bP"
  1033.                     switch ID C2 LABEL "A,\033bA"
  1034.                     switch ID C3 LABEL "D,\033bD"
  1035.                 endgroup
  1036.             endgroup
  1037.             string ID S3 CONTENT gport
  1038.             string ID S4 CONTENT gtrig
  1039.             string ID S5 CONTENT gval
  1040.             string ID S6 CONTENT ginclude
  1041.             string ID S7 CONTENT gexclude
  1042.         endgroup
  1043.     endgroup
  1044.     group REGISTER LABELS "Attributes,Variables,Objects"
  1045.         list ID OALST ATTRS Listview_DragType Listview_DragType_Immediate
  1046.         list ID OVLST ATTRS Listview_DragType Listview_DragType_Immediate
  1047.         list ID OOLST ATTRS Listview_DragType Listview_DragType_Immediate
  1048.     endgroup
  1049.     call okgroup gobj
  1050. endwindow
  1051. callhook ID S4 DROP COMMAND '"build:callhook_comm ADD %s"' INCLUDE OALST
  1052. callhook ID S5 DROP COMMAND '"build:callhook_comm VADD %s"' INCLUDE OVLST
  1053. callhook ID S6 DROP COMMAND '"build:callhook_comm IADD %s"' INCLUDE OOLST
  1054. callhook ID S7 DROP COMMAND '"build:callhook_comm XADD %s"' INCLUDE OOLST
  1055. if index(line,'PRESS') ~= 0 then switch ID C1 ATTRS Selected TRUE
  1056. if index(line,'APP') ~= 0 then switch ID C2 ATTRS Selected TRUE
  1057. if index(line,'DROP') ~= 0 then switch ID C3 ATTRS Selected TRUE
  1058.  
  1059. list ID OALST INSERT STRING 'MUIA_Window_Activate,0x80428d2f'
  1060. list ID OALST INSERT STRING 'MUIA_Timer,0x80426435'
  1061. list ID OALST INSERT STRING 'MUIA_Selected,0x8042654b'
  1062. list ID OALST INSERT STRING 'MUIA_Pressed,0x80423535'
  1063. list ID OALST INSERT STRING 'MUIA_Numeric_Value,0x8042ae3a'
  1064. list ID OALST INSERT STRING 'MUIA_List_Active,0x8042391c'
  1065. list ID OALST INSERT STRING 'MUIA_Listview_SelectChange,0x8042178f'
  1066.  
  1067. list ID OVLST INSERT STRING 'TRUE,1'
  1068. list ID OVLST INSERT STRING 'FALSE,0'
  1069. list ID OVLST INSERT STRING 'MUIV_EveryTime,0x49893131'
  1070.  
  1071. getvar objlist
  1072. objects = result
  1073. do while objects ~= ''
  1074.     parse var objects obj','objects
  1075.     list ID OOLST INSERT STRING obj
  1076. end
  1077. return
  1078.  
  1079. attrsgroup: procedure
  1080.  
  1081. Dropable =                        0x8042fbce /* V11 isg BOOL              */
  1082. List_Format =                     0x80423c0a /* V4  isg STRPTR            */
  1083. List_DragSortable =               0x80426099 /* V11 isg BOOL              */
  1084. Listview_DragType =               0x80425cd3 /* V11 isg LONG              */
  1085. Listview_DragType_Immediate = 1
  1086. List_GetEntry_Active = -1
  1087. TRUE = 1
  1088.  
  1089. group
  1090.     list ID ALST COMMAND '"build:attrs ASKSET %s"',
  1091.         ATTRS List_Format '"BAR,"',
  1092.               Listview_DragType Listview_DragType_Immediate,
  1093.               List_DragSortable TRUE,
  1094.         HELP '"Drag and drop an attribute from list.\nDouble click on attribute to edit."'
  1095.     string COMMAND '"build:attrs ADD %s"'
  1096.     group HORIZ
  1097.         button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
  1098.         button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
  1099.     endgroup
  1100. endgroup
  1101. return
  1102.  
  1103. attrscomm: procedure
  1104. parse arg gattrs
  1105.  
  1106. List_Insert_Bottom = -3
  1107.  
  1108. do while gattrs ~= ''
  1109.     parse var gattrs name value gattrs
  1110.     if index(value,'"""') = 1 then do
  1111.         parse var gattrs addval'"""' gattrs
  1112.         value = value||addval||'"""'
  1113.     end
  1114.     list ID ALST INSERT POS List_Insert_Bottom STRING name',='value
  1115. end
  1116. callhook ID ALST DROP COMMAND '"build:attrs ADD %s"' INCLUDE 'BLST'
  1117. return
  1118.  
  1119. okgroup: procedure
  1120. parse arg gobj
  1121.  
  1122. group HORIZ
  1123.     button COMMAND '"build:set_object ['gobj']"' LABEL 'OK'
  1124.     space HORIZ
  1125.     button COMMAND '"window ID SET CLOSE"' PORT BUILD LABEL 'CANCEL'
  1126. endgroup
  1127. return
  1128.